package com.tl.branchmanagementdemo.pojo.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 分支表
 * </p>
 *
 * @author tl
 * @since 2024-03-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Branch implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 分支版本id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 记录基于哪个父分支创建新的分支,如果没有父分支则为空
     */
    private Long parentBranchId;

    /**
     * 分支状态（ 0:活跃, 1:废弃,2:锁定）
     */
    private Integer status;

    /**
     * 这个分支最新的版本ID
     */
    private Long lastVersionId;

    /**
     * 分支的版本历史路径（例如:1|2|3，表示历史分支有1和2，以及当前分支3），没有父分支，该字段为空。
     */
    private String path;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;


}
